Career 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Brazil F29 United Arab Emirates F1 United Arab Emirates F2 Morocco F4 Kuwait F2 Georgia F2 Nigeria F1 Nigeria F2 Tunisia F2 Morocco F3 Iran F1 Iran F2 Tunisia F4 Tunisia F6 UAE F1 Qatar F1 Qatar F2 Qatar F3 Portugal F3 Morocco F2 Venezuela F3 Iran F1 Brazil F6 Iran F2 Brazil F7 Brazil F8 Brazil F9 France F12 Brazil F10 France F17 Tunisia F4 Tunisia F5 China F1 China F2 France F2 France F3 Poland F1 Egypt F3 Colombia F4 Brazil F1 Brazil F2 Brazil F3 Brazil F4 Brazil F5 Spain F19 Brazil F12 Brazil F14 France F17 Brazil F15 France F18 Brazil F16 Brazil F21 Brazil F3 Brazil F4 Brazil F5 Argentina F7 Tunisia F1 Argentina F8 Tunisia F2 Argentina F9 Brazil F20 Brazil F24 Brazil F25 Colombia F1 Colombia F2 Turkey F2 Kuwait F2 Austria F4 Austria F5 Austria F6 Romania F15 France F15 France F17 France F18 Morocco F1 Morocco F2 Spain F11 Spain F16 Kuwait F1 Tunisia F1 Tunisia F2 Tunisia F3 Georgia F1 France F19 Morocco F1 Morocco F2 Spain F7 Italy F2 Italy F3 France F6 Italy F8 Tunisia F1 Tunisia F2 Spain F29 Netherlands F5 Netherlands F6 Morocco F7 Spain F35 Spain F36 Egypt F4 Egypt F5 Spain F39 Sudan F1 Sudan F2 Colombia F1 Colombia F2 Italy F5 Great Britain F7 Great Britain F8 Kazakhstan F4 France F2 France F3 Algeria F1 Algeria F2 Saudi Arabia F1 Saudi Arabia F2 Tunisia F1 Tunisia F3 Italy F22 Italy F23 France F13 France F19 Brazil F11 France F20 Belgium F2 Tunisia F5 Portugal F2 France F5 Morocco F1 Italy F12 Brazil F4 Italy F13 Tunisia F1 Tunisia F2 Tunisia F3 France F9 Poland F2 Egypt F2 France F6 France F7 Colombia F3 Brazil F6 Brazil F7 Brazil F8 Brazil F9 France F19 Brazil F17 Brazil F18 Tunisia F4 Brazil F20 Tunisia F5 Tunisia F6 Brazil F22 Tunisia F7 France F1 France F3 Great Britain F3 Great Britain F4 Portugal F1 Portugal F2 Croatia F3 Croatia F5 Egypt F1 Egypt F2 Egypt F3 Brazil F13 Brazil F14 Tunisia F1 Spain F15 Netherlands F1 Brazil F4 (Sao Carlos) Germany F8 (Kassel) Italy F21 (Bolzano) Italy F22 (Cornaiano) Brazil F5 (Mogi das Cruzes) Brazil F6 (Curitiba) Brazil F7 (Sao Carlos) Brazil F8 (Sao Paulo) Brazil F9 (Ribeirao Preto) M25 Weston Challenger Ford de Cherbourg - Cherbourg Tunis Open - Tunis Togliatti Cup - Togliatti Mordovia Cup 2005 - Saransk Ethias Tennis Trophy - Mons The LTA Men's Challenger - Southampton Copa Petrobras - Aracaju Nossa Caixa Tennis Cup - Sao Paulo Cyclus Open de Tenis - Florianopolis Aberto de Santa Catarina - Florianopolis Tunis Open 2006 - Tunis Credicard Mastercard Tennis Cup - Campos do Jordao BH Tennis Open International Cup - Belo Horizonte Joinville Tennis Festival - Joinville Amazonia Open de Tenis - Belem II Cyclus Open de Tenis - Florianopolis Aberto de Santa Catarina de Tenis - Florianopolis Tunis Open 2007 - Tunis Seguros Bolivar Open - Bogota Challenger ATP de Cuenca Diario El Mercurio - Cuenca BH Tennis Open - Belo Horizonte Credicard Citi Mastercard Tennis Cup 2007 - Campos do Jordao IV Manta Open - Manta Seguros Bolivar Open - Medellin XIII Trofeo Ciudad de Quito - Quito Copa Petrobras Colombia - Bogota Copa Petrobras Brazil - Belo Horizonte Copa Petrobras Paraguay - Asuncion Lima Challenger 2007 - Lima Aberto de Sao Paulo - Sao Paulo Challenger de Providencia-Copa Kia - Santiago Bancolombia Open - Bogota Abierto Internacional de Salinas 'Dario Expreso' - Salinas San Luis Potosi Challenger - San Luis Potosi AGT Challenger - Leon III Aberto Santa Catarina de Tenis - Florianopolis Tunis Open - Tunis Rijeka Open - Rijeka Zagreb Open - Zagreb Trofeo Cassa di Risparmio di Alessandria - Alessandria Memorial A. Manfredini Sassuolo Challenger - Sassuolo Zenith Tennis Cup-Harbour Club - Milan Seguros Bolivar Open - Bogota V Manta Open-Trofeo Ricardo Delgado Aray - Manta BH Tenis Open International Cup 2008 - Belo Horizonte Timisoara Challenger - Timisoara Credicard Citi Mastercard Tennis Cup - Campos do Jordao Open D'Orleans - Orleans Copa Petrobras-Colombia - Bogota Copa Petrobras-Brazil - Aracaju Cyclus Open de Tenis - Florianopolis Copa Petrobras-Uruguay - Montevideo Bancolombia Open - Cali IV Challenger Ciudad De Guayaquil - Guayaquil Seguros Bolivar Open - Medellin Sao Paulo Challenger Salinas Challenger Iquique Challenger Bucaramanga Challenger Tanger Challenger Meknes Challenger Rabat Challenger Santiago Challenger Bogota Challenger Marrakech Challenger San Luis Potosi Challenger Mexico City Challenger Talahassee Challenger Tunis Challenger Pereira Challenger Blumenau Challenger Karlsruhe Challenger Furth Challenger Kosice Challenger Constanta Challenger Braunschweig Challenger Oberstaufen Challenger Saransk Challenger Belo Horizonte Challenger Campos do Jordao Challenger Brasilia Challenger San Sebastian Challenger Como Challenger Cali Challenger Tulsa Challenger Buenos Aires Challenger Quito Challenger Montevideo Challenger Sacramento Challenger Asuncion Challenger Santiago Challenger Medellin Challenger Guayaquil Challenger Genova Challenger Sao Paulo Challenger Lima Challenger Sao Paulo Challenger Salinas Challenger Bucaramanga Challenger Tanger Challenger Meknes Challenger Marrakech Challenger Bogota Challenger Monza Challenger Pereira Challenger Curitiba Challenger Tunis Challenger Alessandria Challenger Rome Challenger Lugano Challenger San Benedetto Challenger Bogota Challenger Lexington Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Belo Horizonte Challenger Bogota Challenger Cali Challenger Quito Challenger Santiago Challenger Sao Paulo Challenger Medellin Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Salinas Challenger Santiago Challenger Rabat Challenger Marrakech Challenger Pereira Challenger Blumenau Challenger Santos Challenger Zagreb Challenger Cremona Challenger Alessandria Challenger Prostejov Challenger Guadalajara Challenger Bogota Challenger Penza Challenger Astana Challenger Samarkand Challenger Szczecin Challenger Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Sao Jose Do Rio Preto Challenger Medellin Challenger Eckental Challenger Geneva Challenger Buenos Aires Challenger Guayaquil Challenger Bratislava Challenger Montevideo Challenger Kazan Challenger Quimper Challenger Bergamo Challenger Kyoto Challenger Pingguo Challenger Barranquilla Challenger Barletta Challenger Santos Challenger Tunis Challenger Prostejov Challenger Braunschweig Challenger Recanati Challenger Manta Challenger Istanbul Challenger Cali Challenger Izmir Challenger Campinas Challenger Orleans Challenger Quito Challenger Tashkent Challenger Rio De Janeiro Challenger Seoul Challenger Porto Alegre Challenger Geneva Challenger Medellin Challenger Sao Leopoldo Challenger Sao Paulo Challenger Bucaramanga Challenger Salinas Challenger Rimouski Challenger Pereira Challenger San Luis Potosi Challenger Santiago Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Tunis Challenger Bordeaux Challenger Arad Challenger Kosice Challenger Timisoara Challenger Binghamton Challenger Lexington Challenger Sao Paulo Challenger Aptos Challenger Rio De Janeiro Challenger Shanghai Challenger Istanbul Challenger Cali Challenger Izmir Challenger Quito Challenger Fergana Challenger Porto Alegre Challenger Sao Paulo Challenger Tashkent Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Geneva Challenger Bogota Challenger Sao Paulo Challenger Maui Challenger Bucaramanga Challenger Chitre Challenger Dallas Challenger Morelos Challenger Guadalajara Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Tunis Challenger Aix En Provence Challenger Rome Challenger Bordeaux Challenger Prostejov Challenger Mestre Challenger Caltanissetta Challenger Marburg Challenger Braunschweig Challenger Winnetka Challenger Scheveningen Challenger Granby Challenger Poznan Challenger Medellin Challenger Istanbul Challenger Izmir Challenger Quito Challenger Pereira Challenger Cali Challenger San Juan Challenger Cordoba Challenger Knoxville Challenger Guayaquil Challenger Champaign Challenger Sao Paulo Challenger Tour Finals Bucaramanga Challenger Turin Challenger Aix En Provence Challenger Prostejov Challenger Manchester Challenger Prague Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Barranquilla Challenger Izmir Challenger Campinas Challenger Pereira Challenger Mons Challenger Medellin Challenger Rennes Challenger Santiago Challenger Lima Challenger Bogota Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Buenos Aires Challenger Rio De Janeiro Challenger Santo Domingo Challenger Puebla Challenger Guadalajara Challenger Leon Challenger Le Gosier Challenger Sao Paulo Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Prostejov Challenger Furth Challenger Lyon Challenger Cali Challenger Tampere Challenger Biella Challenger Lexington Challenger Cortina Challenger Fano Challenger Curitiba Challenger Istanbul Challenger Santos Challenger Medellin Challenger Campinas Challenger Ho Chi Minh City Challenger Santiago Challenger Guayaquil Challenger Bogota Challenger Happy Valley Challenger Santiago Challenger Buenos Aires Challenger Leon Challenger Panama City Challenger San Luis Potosi Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Prostejov Challenger Surbiton Challenger Lyon Challenger Blois Challenger Medellin Challenger Scheveningen Challenger Gatineau Challenger Biella Challenger Aptos Challenger Floridablanca Challenger Bogota Challenger Istanbul Challenger Izmir Challenger Campinas Challenger Buenos Aires Challenger Cali Challenger Brest Challenger Guayaquil Challenger Mouilleron-Le-Captif Challenger Montevideo Challenger Santiago Challenger Rio De Janeiro Challenger Canberra Challenger Cherbourg Challenger Zhuhai Challenger Santiago Challenger Shenzhen Challenger Qujing Challenger San Luis Potosi Challenger Mexico City Challenger Guadalajara Challenger Tunis Challenger Caltanissetta Challenger L'Aquila Challenger Milan Challenger Braunschweig Challenger Tampere Challenger Genova Challenger Szczecin Challenger Kaohsiung Challenger Tiburon Challenger Campinas Challenger Santo Domingo Challenger Orlando Challenger Columbus Challenger Punta Del Este Challenger Dallas Challenger Morelos Challenger Santiago Challenger San Luis Potosi Challenger Almaty Challenger Shymkent Challenger Vancouver Challenger Cassis Challenger Glasgow Challenger Orleans Challenger Nur-Sultan Challenger Ningboo Challenger Liuzhou Challenger Shenzhen Challenger Bangkok Challenger Bangkok Challenger Bengalaru Challenger Prague Challenger Prague II Challenger Ostrava Challenger Iasi Challenger Sibiu Challenger Split Challenger Barcelona Challenger Alicante Challenger Marbella Challenger Parma Challenger Istanbul Challenger Biella 1 Challenger Biella 2 Challenger Belgrade Challenger Ostrava Challenger Bratislava Challenger Forli Challenger Milan Challenger Braunschweig Challenger Nur-Sultan 3 Challenger Nur-Sultan 4 Challenger Segovia Challenger Liberec Challenger San Marino Challenger Verona Challenger Barletta Challenger Banja Luka Challenger Bogota Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Forli 2 Challenger Bengalaru 1 Challenger Roseto Degli Abruzzi 2 Challenger Lille Challenger St. Brieuc Challenger Aguascalientes Challenger Morelos Challenger Tunis Challenger Troisdorf Challenger Little Rock Challenger Orlando Challenger Corrientes Challenger Buenos Aires 3 Challenger Cali Challenger Bogota Challenger Rome Challenger Toulouse Challenger Cassis Challenger Charleston Challenger Tiburon Challenger Fairfield Challenger Ambato Challenger Calgary Challenger Drummondville Challenger Tunis Challenger Qatar Open - Doha Grand Prix de Tennis de Lyon - Lyon Open 13 - Marseille Brasil Open - Costa do Sauipe Brasil Open - Costa do Sauipe Brasil Open - Costa do Sauipe Brasil Open - Costa do Sauipe Copa Telmex - Buenos Aires Qatar Exxon Mobil Open - Doha Movistar Open - Santiago Brasil Open - Costa do Sauipe Copa Telmex - Buenos Aires Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Movistar Open - Santiago Brasil Open - Costa do Sauipe Copa Claro - Buenos Aires Grand Prix Hassan II - Casablanca Bet-At-Home Austrian Open - Kitzbuhel Allianz Suisse Open - Gstaad BCR Open Romania - Bucharest PTT Thailand Open - Bangkok China Open - Beijing Qatar ExxonMobil Open - Doha Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai US Men's Clay Court Championship - Houston Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona BRD Nastase Tiriac Trophy - Bucharest Serbia Open - Belgrade Open de Nice Cote d'Azur - Nice AEGON Championships - London UNICEF Open - 's Hertogenbosch SkiStar Swedish Open - Bastad Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow VTR Open - Vina del Mar Brasil Open - Sao Paulo Dubai Duty Free Tennis Championships - Dubai SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Citi Open - Washington Qatar ExxonMobil Open - Doha Royal Guard Open Chile - Vina del Mar Rio Open 500 - Rio de Janeiro Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Hall of Fame Tennis Championships - Newport Bet-at-home Cup - Kitzbuhel Citi Open - Washington Malaysian Open - Kuala Lumpur China Open - Beijing Kremlin Cup - Moscow Valencia Open - Valencia Qatar ExxonMobil Open - Doha Apia International - Sydney Open Sud de France - Montpellier Ecuador Open - Quito U.S. National Indoor Tennis Championships - Memphis Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Delray Beach Open - Delray Beach Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest BMW Open - Munich Geneva Open - Geneva Aegon Nottingham Open - Nottingham Hall of Fame Tennis Championships - Newport SkiStar Swedish Open - Bastad Claro Open Colombia - Bogota BB&T Atlanta Open - Atlanta Credit Agricole Suisse Open - Gstaad Citi Open - Washington Austrian Open - Kitzbuhel Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia Ecuador Open - Quito Memphis Open - Memphis Rio Open - Rio de Janeiro Delray Beach Open - Delray Beach Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona BMW Open - Munich Mercedes Cup - Stuttgart Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Shenzhen Open - Shenzhen China Open - Beijing If Stockholm Open - Stockholm Qatar ExxonMobil Open - Doha ASB Classic - Auckland Open Sud de France - Montpellier Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Mercedes Cup - Stuttgart BB&T Atlanta Open - Atlanta Suisse Open - Gstaad Citi Open - Washington Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen China Open - Beijing If Stockholm Open - Stockholm Qatar ExxonMobil Open - Doha Maharashtra Open - Pune Ecuador Open - Quito Garanti Koza Sofia Open - Sofia Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle BB&T Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem Chengdu Open - Chengdu China Open - Beijing Kremlin Cup - Moscow Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune Sydney International - Sydney Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Swiss Open - Gstaad Citi Open - Washington Qatar ExxonMobil Open - Doha Tata Open Maharashtra - Pune Dubai Duty Free Tennis Championships - Dubai Antalya Open - Antalya Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Singapore Tennis Open - Singapore Sardegna Open - Cagliari Belgrade 2 - Belgrade Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Generali Open - Kitzbuhel Dubai Duty Free Tennis Championships - Dubai Sony Ericsson Open - Miami Mutua Madrilena Masters Madrid - Madrid Sony Ericsson Open - Miami Mutua Madrilena Madrid Open - Madrid Western & Southern Financial Group Masters - Cincinnati BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Sony Open Tennis - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Miami Open - Miami Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Miami Open - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Coupe Rogers - Montreal French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Davis Cup, Group 2, PO, LAT-TUN 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group 2, PO, SLO-TUN 4-1 Davis Cup, Group II, 1R, GBR-TUN 4-1 Davis Cup, Group II, PO, IRL-TUN 3-2 Davis Cup, Group I, 2R, BRA-COL 3-1 Davis Cup, Group II, PO, TUN-BLR 2-3 Davis Cup, World Group, 1R, ARG-BRA 3-2 Davis Cup, World Group, PO, BRA-CRO 1-3 Davis Cup, Group II, 1R, BIH-TUN 3-1 Davis Cup, Group II, PO, TUN-BUL 3-2 Davis Cup, Group II, 1R, TUN-SWE 2-3 Davis Cup, Group II, PO, CYP-TUN 1-4 Davis Cup, Group II, 1R, TUN-FIN 2-3 Davis Cup, Group II, PO, EST-TUN 3-2 Davis Cup, World Group II, PO, GUA-TUN 1-3 Davis Cup, Group I, PO, TUN-BIH 1-3 Australian Open (juniors) Olympics - London Olympics - Rio de Janeiro